Computing devices, such as smart phones, tablet computers, and laptop computers, enable a user to connect through a network to a web-service front end to send and receive messages to and from other users. The sent and received messages may include, for example, electronic mail messages (i.e., email), Short Message Service (SMS) messages, multimedia message service (MMS) messages, instant messages, and voice mail messages. Many of these message may be asynchronous messages, meaning that an intended recipient user need not necessarily be currently accessing the web service server (i.e., online) for another user to initiate and send a message to the intended recipient. Messages may be sent to a user at any time, regardless of whether that user is currently accessing the web service server (i.e., whether that user is “online”). In instances when the intended recipient user is offline, messages sent to that user may go undelivered. These undelivered messages may be stored in a database such that the web service server may fetch and deliver these undelivered messages upon detection that the intended recipient comes online. A user may elect to “pull” his undelivered messages. For example, if a user desires to receive his messages, the user may use a device like a smart phone to go online and request his messages from the web service server. Alternatively, the user may elect to have his undelivered message “pushed” to him. For example, when a user comes online, the web service server may detect the user's online status and deliver any undelivered message stored in the database. After a user logs out of the web service server (i.e., goes “offline”), another user may use the same device to log on to the web service server to retrieve any undelivered messages intended for that other user.